/* Copyright  2009-2010
   @Author
   Richard Changde Yin            e-mail yinchangde@hotmail.com

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */

/**
 * @filename: sql_locale.h
 */
#ifndef __SERVER_LOCALE_H__
#define __SERVER_LOCALE_H__

typedef struct my_locale_st
{
  uint32_t  number;
  const char *name;
  const char *description;
  const bool is_ascii;
  TYPELIB *month_names;
  TYPELIB *ab_month_names;
  TYPELIB *day_names;
  TYPELIB *ab_day_names;
#ifdef __cplusplus
  my_locale_st(uint32_t number_par,
               const char *name_par, const char *descr_par, bool is_ascii_par,
               TYPELIB *month_names_par, TYPELIB *ab_month_names_par,
               TYPELIB *day_names_par, TYPELIB *ab_day_names_par) :
                number(number_par),
                name(name_par),
                description(descr_par),
                is_ascii(is_ascii_par),
                month_names(month_names_par),
                ab_month_names(ab_month_names_par),
                day_names(day_names_par),
                ab_day_names(ab_day_names_par)
                {}
#endif
} MY_LOCALE;

#define DB_LOCALE MY_LOCALE

extern DB_LOCALE  my_locale_en_US;
extern DB_LOCALE *my_locales[];
extern DB_LOCALE *g_default_lc_time_names;

DB_LOCALE *get_locale_by_name(const char *name);

DB_LOCALE *get_locale_by_number(uint32_t number);

#endif /* __SERVER_LOCALE_H__ */
